package com.zhcs.myapplication;

import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    public Handler handler = new Handler();
    //创建一个Runnable对象
    Runnable runnable = new Runnable() {

        @Override
        public void run() {
            if (timeing < 10) {
                timeing++;
                tv_sh.setText("" + timeing);
//(任务内延时)
//每隔1s实现定时操作更改ui页面的数字
                handler.postDelayed(this, 1000);
            } else {
//计时到10秒后关闭此定时器，重置标志位，重置计时0
                handler.removeCallbacks(this);
                tv_sh.setText("本轮计时已结束");
                flag = false;
                timeing = 0;
            }
        }
    };
    public Button bt_sh_on;
    public TextView tv_sh;
    //计时时间
    public int timeing;
    //点击按钮的标志
    public boolean flag;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        bt_sh_on = (Button) findViewById(R.id.bt_sh_on);
        tv_sh = (TextView) findViewById(R.id.tv_sh);
        bt_sh_on.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                if (flag == false) {
                    bt_sh_on.setText("点击按下了按钮~！");
//(执行任务的时间间隔)
//执行任务的间隔时间为1s,当没有flag==false此处的判断,
//每当点击按钮的时候都会触发这个方法,就会导致计时变快
                    handler.postDelayed(runnable, 1000);
                }
//避免在计时开始后再次按下按钮触发线程执行
                flag = true;
            }
        });

    }
}

